package com.wdb.modules.security.security;

import lombok.Data;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.AuthenticationEntryPoint;
import org.springframework.stereotype.Component;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * AuthenticationEntryPoint
 *
 * @author: wendaobai@qq.com
 * @date: 2024/1/10 0010 10:43
 */
@Component
@Data
public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint {
  @Override
  public void commence(
      HttpServletRequest request,
      HttpServletResponse response,
      AuthenticationException authException)
      throws IOException, ServletException {
    response.sendError(
        HttpServletResponse.SC_UNAUTHORIZED,
        authException == null ? "Unauthorized" : authException.getMessage());
  }
}
